package fanjingzhu.check.dao;

import java.util.List;

import publics.model.Proposer;

public interface ProposerDao {
	/**
	 * 保存一申请人的信用记录导数据库
	 * @param proposer 申请人的一个实例        
	 * @return 主键id
	 */
	public Integer save(Proposer proposer);
	
	/**
	 * 根据id删除申请人信用记录
	 * @param proposerId
	 * @return
	 */
	public boolean deleteById(Integer proposerId);
	
	/**
	 * 根据实例删除申请人信用记录
	 * @param proposer 申请人实例
	 * @return
	 */
	public boolean delete(Proposer proposer);
	

	/**
	 * 修改申请人的信用记录
	 * @param proposer  申请人实例 
	 * @return  boolean 成功 true ，失败 false
	 */
	public boolean update(Proposer proposer);

	/**
	 * 根据申请人的id查询
	 * @param 申请人的id
     * @return id对应的申请人
	 */
	public Proposer  findById(Integer proposerid);
	
	/**
	 * 查询所有申请人的信用记录
	 * @param hql 要查询的hql语句
	 * @param offset 起始条目偏移量（offset == （页码-1）*pageSize ，ajax传过来的start = offset ）
	 * @param pageSize  查询每页的条目数
	 * @return 查询的所有申请人
	 */
	public List<Proposer> findByPage(final String  hql, final int offset, final int pageSize);

	
	/**
	 * 分页查找的贷款申请表的总记录
	 * @param sql 查询语句
	 * @return 记录总数
	 */
	public int findByCount(String sql);

}
